1. Field of the Invention
The present invention relates, in general, to performance management of computer systems, and, more particularly, to software, systems, and methods for performance management of virtualized and partitioned computing environment.
2. Relevant Background
Escalating costs of managing vast networks of servers, software applications and components has driven the computer industry to find new ways to reduce IT infrastructure costs and better manage end-user service levels. Server consolidation, virtualization and partition techniques have enabled systems within data centers to be visualized and managed as interconnected computing resources rather than as individual systems. Virtual application zones, also referred to as containers and virtual computing zones, allow data center service providers to manage applications and services independently, control resource utilization, isolate faults and ensure security between multiple applications and services.
Virtual zones isolate applications and services by using flexible, software-defined boundaries. Using these techniques, software can be partitioned to allow the creation of many execution environments within a single instance of an operating system. Each environment has its own identity, separate from the underlying hardware, yet behaves as if it is running on its own system, making consolidation simple, safe and secure.
Virtual zones are location independent meaning that applications can be installed, configured and moved as needed. Each application runs in its own private environment allowing many applications to be deployed and run on a single physical host without fear that they will impact or interfere with one another. Accordingly, system and network resources can be allocated and controlled on a fine-grain basis. When several zones operate on a single physical server or host computer, the computing resources of the server can be allocated and prioritized as needed. In one instance, computing resources of the server can be dedicated to a single application while at another instance of time, and without moving the applications or rebooting the system, the computing power of the server can be shared between several applications.
The private environment in which each virtual zone operates isolates error propagation, prevents unauthorized access to the application and enhances application efficiency. However, the same isolation that makes virtual zone computing so attractive also makes performance management a challenge. Applications running in a zone “appear” to be running on their own system when they are in fact sharing the same underlying host operating system. Thus, the applications running in a non-global zone (also referred to herein as local zones) are unable to control the global aspects of the system such as run level, the physical components of the device, network routing, etc., because they think they are operating by themselves unimpeded by other applications.
To help manage the virtual computing environment, non-global zones are typically grouped together to form a global zone. Each non-global zone operates independent of one another and is only aware that it is associated with a global zone. Only the global zone is aware of each non-global zone operating within its realm of responsibility. One typical role of the global zone is to manage the resources of the computing environment of which each non-global zone is part. Given the vast flexibility and independent nature of each virtual application zone, most traditional performance management tools are ill-suited to manage such a virtualized and partitioned computing environment.
One performance management tool for detecting and measuring performance of an application and system uses agents that instrument and collect data with respect to processes operating on a particular system of interest. Several such agent based performance management tools are currently available. These include HP Openview, IBM Tivoli, CA Unicenter, Micromuse Netcool, and BMC Patrol, etc. As one might expect, each product possesses vendor specific event definitions, agent based solutions and various protocols. Any one product may be well suited to a single virtual zone application while ill-suited for another zone. It has become a challenge, therefore, to consolidate vendor specific events and event definitions so as to orchestrate the performance management of services operating on multiple non-global zones. It has also been difficult to ensure that applications, services, transactions, processes, operational metrics and service levels are achieving optimal results.
Service providers, data center operators and system administrators need to effectively provision, manage and monitor both non-global and global zones. There is a need, therefore, to monitor and manage the consolidated server resources as well as a need to scrutinize non-global zone allocation and usage.
It is difficult to gain a proper perspective of the performance of an aggregation of zones operating on a particular server. Logically two approaches for monitoring managing virtual zones are available. In a first approach, a single management entity exists in each of the virtual zones. In smaller systems, a single agent based batch management solution such as this can provide some management and monitoring relief. However, such a single agent solution is not effectively scaleable to large complex systems as it would create an unacceptably long run event queue due to the duration of the monitoring updates. The result would be an unacceptable general degradation of general system service level. In addition, agents for each virtual environment may create incompatible data or events due to application specific and vendor specific monitoring implementation. This complicates integration issues for performance and fault management. Additionally, a distributed agent or monitoring entity solution requires additional bandwidth and results in a disproportionate amount of monitoring traffic.
A second logical approach is to have one monitoring entity on the global zone that enables an agent from a single system to monitor each non-global zone. The monitoring entity monitors both the global zone and each of the virtual zones. The agent pulls data from the local zone and reports back to the centralized monitoring applications. Each virtual zone environment will generate a differing amount and quality of data. Furthermore, the reports will arrive at different times and are, with respect to disparate applications, difficult or impossible to compare. The global agent, therefore, becomes a single central bottleneck of the management traffic and event.
There is a need for intelligent monitoring and management services across multiple virtual zones allowing for dynamic resource allocation. What is needed are computer implemented methods, computer readable media and computer systems for monitoring and performance management of virtualized zones operating in a computing environment.